Oracle Solaris 11 安全性:面向开发人员的新内容

2011 年 9 月

Ramesh Nagappan

目录:

您是否希望自己的收件箱收到类似这样的技术文章?请订阅系统社区新闻快讯 — 很有价值,仅面向系统管理员和开发人员的技术内容。

本文将详细介绍 Oracle Solaris 11 在以下五个领域中的新增安全特性和增强:

  • 主机和应用程序级别安全性
  • 网络和通信安全性
  • 高性能加密服务
  • 保护处于静止状态的数据安全
  • 通过 Oracle Solaris Trusted Extensions 实现多级安全性

以下各节总结了这些领域中的新特性或更改的特性,以及这些新特性如何帮助您从应用程序开发的角度构建更全面的安全架构。

主机和应用程序级别安全性

主机和应用程序安全增强包括用于访问控制、权限管理和服务管理功能的新特性和增强的特性。

访问控制

Oracle Solaris 11 通过引入 Root 作为角色增强的 pfexec,扩展了现有最低权限和基于角色的访问控制 (RBAC) 特性。

  • 通过 Root 作为角色,Oracle Solaris 11 上的 root 帐户现在默认为一个角色。只有授权用户可以承担 root 角色而不是直接登录到 root 用户帐户。这允许授权的非 root 用户使用超级用户权限完成任务。如果用户使用 Oracle Solaris 审计实际调用了此特性,他们可以轻松执行特权操作。每次用户登录时,都会生成唯一的审计会话 ID,且此 ID 与用户的进程关联。从一个用户切换到另一个用户时,通过同一审计用户 ID 跟踪所有用户操作。此特性在如下应用程序环境中很有帮助:多个管理员共享 root 口令,从而导致安全性和责任性问题。
  • 增强的 pfexec 用于执行需要更高权限级别的管理命令。使用新的进程标志来指定所有后续程序执行都遵循 RBAC 策略。首次调用一组完整的配置文件 shell pfsh(1)、pfcsh(1)、pfksh(1)、pfksh93(1)、pfbash(1)、pftcsh(1)、pfzsh(1)、pfexec(1) 中的任意一个时设置此标志,并且子进程可继承此标志。有了此特性,应用程序无需修改 shell 脚本即可调用 pfexec 或配置文件 shell。此特性的另一个应用是限制提供给 setuid 为 root 的程序的权限集。需要 setuid 机制的进程通常使用所有权限运行。现在,它们仅使用在 Forced Privileges 权限配置文件内的条目中指定的那些权限执行,从而大大减少了它们成为系统攻击向量的可能性。

文件访问权限

此外,Oracle Solaris 11 除了 Oracle Solaris 10 中已有的五个权限之外,增加了三个新的“基本”权限(file_readfile_writenet_access)。这些新权限满足用于限制读取、写入和出站网络访问的多种应用程序开发需求。

Oracle Solaris 11 中的 RBAC 委托特性比竞争系统中提供的此特性更全面。策略是用户只能委托他/她当前具有的内容。此策略适用于角色、组和配置文件成员身份,还适用于各种授权和权限。它通过在用户和口令管理工具中委托授权,实现真正的职责分离。

新的 Stop 配置文件使用户帐户成为沙盒用户帐户、限制默认配置文件以及实现授权。

服务管理工具 (SMF)

Oracle Solaris 11 中的服务管理工具 (SMF) 增加了一些用于保护应用程序的特性:

  • 引入了通知功能,可通过 SNMP 陷阱或电子邮件向管理员通知服务状态转换和故障管理陷阱。
  • 通过 SMF,可以在启动过程中为应用程序进程分配权限,并可以在启动之后释放权限。这有助于针对以 root 身份启动应用程序引起的泄漏加强安全性。
  • SMF 集成了 ipfilter 功能,用以配置和部署基于主机/服务的防火墙。SMF 支持设置 ipfilter 配置属性,还允许使用预填充的配置来部署自定义策略。

Kerberos 服务

Oracle Solaris 11 引入了一些 Kerberos 服务改进,包括:

  • 通过 DNS、Oracle Solaris 可插入身份验证模块 (PAM) 以及 Microsoft Active Directory 合作实现零配置 Kerberos 客户端,以便更好地与 Windows 客户端互操作,并将 UNIX 用户和组正确映射到 Active Directory 实体。
  • PKINIT 支持允许用户使用公钥加密执行初始身份验证。

Oracle Solaris 11 映像包管理系统 (IPS)

Oracle Solaris 11 映像包管理系统 (IPS) 引入了签名的 IPS 软件包的概念,允许对软件包进行签名、验证软件包签名,以及设置签名策略以确定需要就签名有效性和证书属性执行哪些检查。

网络和通信安全性

Oracle Solaris 11 是在“默认安全”的环境配置中提供的,旨在最大程度地减少外部网络攻击。默认情况下,除了 sshd 之外,不启用任何网络服务来接受网络流量。其他已启用的网络服务在内部监听 Oracle Solaris 11 实例中的请求。这确保所有网络服务默认处于禁用状态或设置为仅监听本地系统通信。

Oracle Solaris 11 区域技术增加了如下功能:使用名为专用 IP 堆栈和网络虚拟化的特性按区域创建一个或多个虚拟化的专用网络堆栈。这些特性允许网络管理员按区域创建细粒度网络安全策略。配置示例包括:

  • 区域特定的 IP 路由、DHCPv4 和 IPv6 无状态地址配置
  • IP 筛选器和 NAT 配置
  • MAC、DHCP 和 IP 反欺骗功能
  • IPSEC 和 IKE 自动提供对 IPSEC 安全关联的主要资料进行身份验证

Oracle Solaris 11 中的区域管理功能也有所扩展,以便于委托区域管理,从而允许为每个区域指定可以充当管理员的用户和角色。

  • 此委托可限制从全局区域访问非全局区域。现在,可以按区域为用户和角色指定各种授权。
  • 委托区域管理还支持限制区域登录、克隆和管理的按用户授权和按区域授权。

高性能加密服务

为了符合更严格的政府标准,Oracle Solaris 加密框架现在支持 NSA Suite B 算法。

  • IPSEC 和 ZFS 加密现在可以使用 CCM/GCM 模式的 AES。
  • 现在,除了 RSA 和 DSA 之外,IKE 还可以使用椭圆曲线加密 (ECC) 实现密钥交换。

Oracle Solaris 加密框架可以充分利用由 Oracle T 系列处理器、Intel Westmere (AES-NI) 以及基于 PKCS#11 的第三方硬件安全模块 (HSM) 提供的硬件辅助加密加速。

  • Java 和非 Java 应用程序都可以通过 Java PKCS#11 提供程序将涉及计算密集型公钥加密、批量加密和摘要操作的 SSL/TLS 和 WS-Security 任务委托给硬件。
  • Oracle Solaris 加密框架提供了支持将数据库加密操作(AES CFB 模式)委托给数据库服务器中的 Oracle T 系列处理器或 Intel Westmere (AES-NI) 处理器的机制。这种硬件辅助加密使用透明数据加密 (TDE) 进行列级和表空间加密,可用于增强 Oracle 数据库性能。

Oracle Solaris 11 捆绑的 OpenSSL 增加了更新的特性以启用 OpenSSL 动态引擎 支持,第三方供应商可在自己的引擎实施中插入此支持。还增加了 FIPS Object Module 支持,从而允许在 FIPS 模式下使用通过 FIPS-140-2 验证的 OpenSSL 引擎。

  • Oracle Solaris OpenSSL pkcs11 引擎将自动利用 Oracle T 系列处理器和 Intel Westmere (AES-NI) 处理器提供的硬件辅助加密加速支持。

为了帮助执行与批量加密相关的复杂密钥管理任务,Oracle Solaris 加密框架为 Oracle 密钥管理系统提供了一个插件 (pkcs11_kms)。这种机制可供任何支持 PKCS#11 的应用程序使用。

可信平台模块 (TPM) 支持

Oracle Solaris 11 根据可信计算组 (TCG) 制定的 TPM 设备规范,引入了可信平台模块 (TPM) 支持。有了此支持,Oracle Solaris 可以利用大多数系统主板上提供的 TPM 芯片安全地存储旨在支持加密操作的加密密钥。TPM 可用作 PKCS#11 密钥库,以便在 SPARC 和 x86/x64 平台上支持应用程序级别加密操作。

保护处于静止状态的数据安全

Oracle Solaris 11 引入了 Oracle Solaris ZFS 加密支持,包括以下特性:

  • ZFS 加密通过防止在 SAN 和本地磁盘上发生未授权访问、中间人攻击和数据盗窃,保护物理存储上的数据。所有数据和文件系统元数据都使用全面的加密密钥管理工具进行加密。
  • 可以对 ZFS 数据集、卷 (ZVOL) 和文件系统进行加密。
  • 可以随时为用户授予加载和/或更改其密钥加密密钥(封装密钥)的能力。用户可以选择将封装密钥存储在文件、口令或 PKCS#11 密钥库(通过 Oracle Key Manager 支持集中密钥管理)中,或者存储在 HTTPS URL 上。
  • ZFS 加密使用 Oracle Solaris 加密框架,并自动受益于使用由 Oracle T 系列处理器和 Intel Westmere (AES-NI) 处理器提供的硬件辅助加密加速。
  • ZFS 加密还支持通过密钥销毁进行放心删除。

现在,还可以通过额外的强制写入访问层来保护区域中的 ZFS 数据集。可使用区域配置中的 file-mac-profile 选项并选择一个预定义配置文件对此进行配置。

LOFI 管理实用程序 (lofiadm) 现在允许文件作为块设备显示,并能够对写入文件的所有块进行加密。

通过 Trusted Extensions 实现多级安全性

Oracle Solaris 10 引入了 Trusted Extensions 作为一种特殊配置,以便实现多级安全环境。它通过强制访问控制 (MAC) 实施为标签。随着 Oracle Solaris 11 的发布,Trusted Extensions 有了许多改进,其中包括:

  • Trusted Extensions 的桌面和窗口化系统基于 GNOME 和 Xorg X11。GNOME Display Manager 提供对多级桌面会话的访问。使用 XACE 扩展实施 Trusted Extensions 安全策略能够使 Oracle 与上游 Xorg X11 社区保持同步。此外,所有用户活动都遵循在权限配置文件中指定的策略。
  • Trusted Extensions 现在支持按标签凭证和按用户凭证。此特性能够使管理员针对每个标签需要唯一的口令。此口令也是会话登录口令,使管理员能够针对每个用户的主目录的每个标签设置一个按区域加密密钥。
  • Trusted Extensions 进行了增强,可以针对 ZFS 数据集显式设置安全标签。配置 Trusted Extensions 标记后,ZFS 文件系统现在自动使用新的 mlslabel 特性进行标记。此特性确保特定安全标签的 ZFS 文件系统不能在其他标签的区域上挂载,因此不会意外升级或降级数据。
  • 现在,Trusted Extensions 环境通过在不同的已标记 IPSEC 安全关联中传输数据,支持通过已标记 IPSEC/IKE 进行标记的通信。这样,不再需要冗余、成本高昂的物理网络基础架构,并确保多级安全环境中的已标记进程跨系统边界与已标记和保护的流量进行通信。

总结

随着 Oracle Solaris 11 的发布,Oracle 通过一组增强的新安全特性和改进,持续致力于提高安全性。通过这些新安全特性和改进,您可以构建和部署安全的应用程序,从而应对不断出现的安全威胁并符合不断发展的安全标准。

修订版 1.1,2011 年 9 月 19 日